<template>
  <div>
    <p>请选择你要购买的书籍</p>
    <ul>
      <li v-for="(val,index) in arr" :key="index">
        {{val.name}}
        <button @click="add(index)">买书</button>
      </li>
    </ul>
    <table border="1" width="500" cellspacing="0">
      <tr>
        <th>序号</th>
        <th>书名</th>
        <th>单价</th>
        <th>数量</th>
        <th>合计</th>
      </tr>
      <tr v-for="(val,index) in arr" :key="index">
        <td>{{index+1}}</td>
        <td>{{val.name}}</td>
        <td>{{val.price}}</td>
        <td>{{val.count}}</td>
        <td>{{val.count * val.price}}</td>
      </tr>
    </table>
    <p>总价格为: {{ totalPaice }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      arr: [
        {
          name: "水浒传",
          price: 107,
          count: 0,
        },
        {
          name: "西游记",
          price: 192,
          count: 0,
        },
        {
          name: "三国演义",
          price: 219,
          count: 0,
        },
        {
          name: "红楼梦",
          price: 178,
          count: 0,
        }
      ]
    }
  },
  methods: {
    add(index) {
      // 点击对应买书 数量自动加1
      this.arr[index].count++

    }
  },
  computed: {
    totalPaice() {
      // 使用reduce计算数组元素相加后的总和
      // reduce(执行函数,传递给函数的初始值)
      return this.arr.reduce((sum,item)=> {
        return sum += item.price * item.count
      },0)
    }
  }
}
</script>

<style>

</style>
